﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.Text;
using System.Data;
using System.ServiceModel.Activation;
using CityGateway.Objects;

namespace CityGatway
{
    
    // NOTE: If you change the interface name "IService1" here, you must also update the reference to "IService1" in App.config.
    [ServiceContract]
    public interface ICityService
    {

        [OperationContract]
        City GetPlayerCity(long userid);

        [OperationContract]
        CityStatus GetCityStatus(long userid);

        [OperationContract]
        bool SaveCity(City city);

        [OperationContract]
        FacebookSession GetSession();

        [OperationContract]
        Dictionary<long, CityScore> GetNeighbours(List<long> neighbours);
    
    }
 



 







    [Serializable]
    [DataContract]
    public class FacebookSession
    {
        [DataMember]
        public long UserID { get; set; }

        [DataMember]
        public string SessionKey { get; set; }
    }

    [Serializable]
    [DataContract]
    public class FacebookProfileInformation
    {
        [DataMember]
        public string FirstName { get; set; }

        [DataMember]
        public string LastName { get; set; }

        [DataMember]
        public string HomeTown { get; set; }

        [DataMember]
        public Uri PictureUrl { get; set; }

        [DataMember]
        public List<string> FriendNames { get; set; }
    }
}
